package com.gitee.wsl.compose.chart.xy.bar.model

import com.gitee.wsl.compose.chart.xy.model.ListPointEntry

typealias GroupedBarEntry<X, Y> = ListPointEntry<X,BarPosition<Y>>

/**
 * Represents a set of points for a [GroupedVerticalBarPlot].
 *
 * @param X The type of the x-axis values
 * @param Y The type of the y-axis values
 */
// interface GroupedBarEntry<X, Y> : ListPointEntry<X,BarPosition<Y>> {
//    /**
//     * The x-axis value of the entry.
//     */
//     val x: X
//
//    /**
//     * The y-axis values for each series corresponding to the [x]-axis value.
//     */
//     val y: List<BarPosition<Y>>
//}

fun <X, Y> GroupedBarEntry(
    x:X, y:List<BarPosition<Y>>
):GroupedBarEntry<X, Y> = DefaultGroupedBarEntry(x,y)


internal data class DefaultGroupedBarEntry<X, Y>(
    override val x: X,
    override val y: List<BarPosition<Y>>
) : GroupedBarEntry<X, Y>
